package com.niguang.work.labour.api.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 工资统计
 * </p>
 *
 * @author 83673
 * @since 2018-11-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SalaryStatistics extends Model<SalaryStatistics> {

    public static final String ID = "id";
    public static final String USER_ID = "user_id";
    public static final String USER_NAME = "user_name";
    public static final String IDCARD = "idcard";
    public static final String PHONE = "phone";
    public static final String PAY_SALARY = "pay_salary";
    public static final String CONFIRM_DAY = "confirm_day";
    public static final String DAY_SALARY = "day_salary";
    public static final String PAY_WAY = "pay_way";
    public static final String SALARY_TYPE = "salary_type";
    public static final String SALARY_DATE = "salary_date";
    public static final String AUDIT_TYPE = "audit_type";
    public static final String SITE_ID = "site_id";
    public static final String SITE_NAME = "site_name";
    public static final String TEAM_ID = "team_id";
    public static final String TEAM_NAME = "team_name";
    public static final String TEAM_USER_ID = "team_user_id";
    public static final String TEAM_USER_NAME = "team_user_name";
    public static final String WORK_TYPE_ID = "work_type_id";
    public static final String WORK_TYPE_NAME = "work_type_name";
    public static final String LABOR_COMPANY_ID = "labor_company_id";
    public static final String LABOR_COMPANY_NAME = "labor_company_name";
    public static final String START_DAY = "start_day";
    public static final String END_DAY = "end_day";
    public static final String DEPT_ID = "dept_id";
    public static final String DEPT_PATH = "dept_path";
    public static final String DEPT_NAME = "dept_name";
    public static final String CREATE_TIME = "create_time";
    public static final String UPDATE_TIME = "update_time";
    public static final String CON_ID = "con_id";
    public static final String QIYE_ID = "qiye_id";
    public static final String QIYE_NAME = "qiye_name";
    public static final String SALARY_ID = "salary_id";
    public static final String ADVANCE_WAY = "advance_way";
    private static final long serialVersionUID = 1L;
    private Long id;
    private Long userId;
    private String userName;
    private String idcard;
    private String phone;
        /**
     * 工资
     */
         private BigDecimal paySalary;
        /**
     * 确认工日
     */
         private BigDecimal confirmDay;
        /**
     * 工资单价
     */
         private BigDecimal daySalary;
        /**
     * 1：点工 2：包工 3：月薪
     */
         private Integer payWay;
        /**
     * 工资类型 1：收入 2：支出
     */
         private Integer salaryType;
        /**
     * 发放工资日期
     */
         private LocalDate salaryDate;
        /**
     * 审核状态 1：未审核 2：已预支 3：未通过
     */
         private Integer auditType;
    private Long siteId;
    private String siteName;
        /**
     * 班组id
     */
         private Long teamId;
    private String teamName;
        /**
     * 班组长id
     */
         private Long teamUserId;
        /**
     * 班组长姓名
     */
         private String teamUserName;
    private Long workTypeId;
    private String workTypeName;
        /**
     * 劳务公司id
     */
         private Long laborCompanyId;
        /**
     * 劳务公司名称
     */
         private String laborCompanyName;
        /**
     * 工资计算开始时间
     */
         private LocalDate startDay;
        /**
     * 工资计算结束时间
     */
         private LocalDate endDay;
        /**
     * 部门id
     */
         private Long deptId;
    private String deptPath;
        /**
     * 部门名称
     */
         private String deptName;
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
        /**
     * 包工记数量id
     */
         private Long conId;
        /**
     * 企业ID
     */
         private Long qiyeId;
        /**
     * 企业名称
     */
         private String qiyeName;
        /**
     * 工资表ID
     */
         private Long salaryId;
        /**
     * 1--现金发放 2--银行卡转账
     */
         private Integer advanceWay;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
